package cn.demoncat.util.mysql.util;

import cn.demoncat.util.lang.CollectionUtil;
import cn.demoncat.util.mysql.entity.DbGenParam;
import cn.demoncat.util.mysql.entity.MysqlTable;
import org.apache.commons.collections4.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * 数据库生成工具
 * 
 * @author 延晓磊
 *
 * @since 2019年8月23日
 */
public class DbGenUtil {

	/**
	 * 查询数据库表
	 * 
	 * @param db
	 * @param tableName	过滤名：‘’无，*全部，xx*模糊匹配，多个用,分隔
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月3日
	 */
	public static List<String> listTables(DbGenParam db, String tableName){
		return CollectionUtil.filter(MysqlUtil.listTable(db.getIp(),db.getUsername(), db.getPassword(), db.getName()), tableName);
	}
	
	/**
	 * 查询数据库表信息
	 * 
	 * @param db
	 * @param tables
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月3日
	 */
	public static List<MysqlTable> listTableInfos(DbGenParam db, List<String> tables){
		if (CollectionUtils.isEmpty(tables)) {
			return new ArrayList<>();
		}else {
			return MysqlUtil.listTableInfo(db.getIp(), db.getUsername(), db.getPassword(),db.getName(), tables);
		}
	}
	
}
